﻿
using Storm.TextEditor.Editor;
using Storm.TextEditor.Parser.XML;

namespace Storm.TextEditor.Parser
{
	/// <summary>
	/// Defines standards for a parser class.
	/// </summary>
    public interface IParser
    {
        SyntaxDocument Document
        {
            get;
            set;
        }

        Language Language
        {
            get;
            set;
        }

        string Separators
        {
            get;
            set;
        }

        void Init(string syntaxFile);
        void Init(string syntaxFile, string separators);
        void Init(Language language);
        void ParseLine(int rowIndex, bool parseKeywords);
        void ParsePreviewLine(int rowIndex);
    }
}
